package com.wfcm.service.impl;

import com.wfcm.dao.JedisDao;
import org.springframework.beans.factory.annotation.Autowired;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

/**
 * 访问redis服务器,单机版实现
 * @author Administrator
 *
 */
public class JedisDaoSingleImpl implements JedisDao {
	private JedisPool jedisPool;

	@Override
	public void set(String key, String value) {
		Jedis jedis = jedisPool.getResource();
		jedis.set(key, value);
		// 不要回收资源. Jedis连接是通过连接池创建的.应该由连接池回收资源.
		jedis.close();
	}

	@Override
	public String get(String key) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.get(key);
		jedis.close();
		return result;
	}

	@Override
	public void hset(String key, String field, String value) {
		Jedis jedis = jedisPool.getResource();
		jedis.hset(key, field, value);
		jedis.close();
		
	}

	@Override
	public String hget(String key, String field) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.hget(key, field);
		jedis.close();
		return result;
	}

	@Override
	public int expire(String key, int seconds) {
		Jedis jedis = jedisPool.getResource();
		int rows = jedis.expire(key, seconds).intValue();
		jedis.close();
		return rows;
	}

	@Override
	public int ttl(String key) {
		Jedis jedis = jedisPool.getResource();
		int seconds = jedis.ttl(key).intValue();
		jedis.close();
		return seconds;
	}

	@Override
	public int del(String key) {
		Jedis jedis = jedisPool.getResource();
		int rows = jedis.del(key).intValue();
		jedis.close();
		return rows;
	}

	public JedisPool getJedisPool() {
		return jedisPool;
	}

	public void setJedisPool(JedisPool jedisPool) {
		this.jedisPool = jedisPool;
	}

}
